package com.corecloud.entity;

import java.time.LocalDateTime;

public class ValidateCode {

    /**
     * 验证码
     */
    private String code;

    /**
     * 过期时间
     */
    private LocalDateTime expireTime;

    public ValidateCode(String code, LocalDateTime expireTime) {
        this.code = code;
        this.expireTime = expireTime;
    }

    /**
     * 设置验证码时效时间
     * @param code:验证码
     * @param expireTime：时间
     * LocalDateTime类的plusSeconds()方法用于返回此日期时间的副本，其中添加了指定的秒数。
     * 参数：它接受单个参数seconds，该参数指定要添加的秒，该秒可以为负。
     * 返回值：此方法基于此日期时间(加上秒)返回LocalDateTime。
     * 异常：如果结果超出支持的秒数范围，则将引发 DateTimeException。
     */
    public ValidateCode(String code, int expireTime) {
        this.code = code;
        this.expireTime = LocalDateTime.now().plusSeconds(expireTime);
    }

    /**
     * 验证码是否失效
     * @return
     */
    public boolean isExpired() {
        return LocalDateTime.now().isAfter(expireTime);
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public LocalDateTime getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(LocalDateTime expireTime) {
        this.expireTime = expireTime;
    }
}
